package com.ruoyi.wisdom.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

/**
 * 人脸管理对象 iot_pick_face
 * 
 * @author ruoyi
 * @date 2024-12-31
 */
public class IotPickFace extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 人脸编号 */
    @Excel(name = "人脸编号")
    private String facecode;

    /** 学校ID */
    @Excel(name = "学校ID")
    private Long comId;

    /** 1教职工 2学生 3家属 4其他人员 */
    @Excel(name = "1教职工 2学生 3家属 4其他人员")
    private Integer personType;

    /** 学生ID/用户UID/接送人ID */
    @Excel(name = "学生ID/用户UID/接送人ID")
    private Long uuid;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 性别 */
    @Excel(name = "性别")
    private String sex;

    /** 相片 */
    @Excel(name = "相片")
    private String face;

    /** 接送关联学生ID */
    @Excel(name = "接送关联学生ID")
    private String studentIds;

    /** 下发设备列表 */
    @Excel(name = "下发设备列表")
    private String downloadDevice;

    /** 下发时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下发时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date downloadTime;

    /** 已经成功下发的设备数量 */
    @Excel(name = "已经成功下发的设备数量")
    private Integer downloadNum;

    /** 删除数量 */
    @Excel(name = "删除数量")
    private Integer deleteNum;

    /** 删除的设备 */
    @Excel(name = "删除的设备")
    private String deleteDevice;

    /** 下发成功的设备 */
    @Excel(name = "下发成功的设备")
    private String successDevice;

    /** 需要移除的设备【移除成功就清空】 */
    @Excel(name = "需要移除的设备【移除成功就清空】")
    private String removeDevice;

    /** 下发失败的设备 */
    @Excel(name = "下发失败的设备")
    private String failDevice;

    /** 出校时间段 */
    @Excel(name = "出校时间段")
    private String timelist;

    /** 权限组名称 */
    @Excel(name = "权限组名称")
    private String groupText;

    /** 绑定的权限组 */
    @Excel(name = "绑定的权限组")
    private String groupname;

    /** 1添加 2添加成功 3添加失败 4下发中 -1删除 -2删除成功 -3删除失败 */
    @Excel(name = "1添加 2添加成功 3添加失败 4下发中 -1删除 -2删除成功 -3删除失败")
    private Integer status;

    /** 1 添加 -1 删除 */
    @Excel(name = "1 添加 -1 删除")
    private Integer statusOld;

    /** 同步状态 0 未同步 1 已经同步 */
    @Excel(name = "同步状态 0 未同步 1 已经同步")
    private Integer syn;

    /** 0 不受限制 1 受限制 （学生需要 家长接送） */
    @Excel(name = "0 不受限制 1 受限制 ", readConverterExp = "学=生需要,家=长接送")
    private Integer isLimit;

    /** 身份证 */
    @Excel(name = "身份证")
    private String idcard;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String mobile;

    /** 学生年级班级关联id */
    @Excel(name = "学生年级班级关联id")
    private Long relationId;

    /** 0未到校，1在校 2已离校 */
    @Excel(name = "0未到校，1在校 2已离校")
    private Integer inSchool;

    /** 0不是住校 1是住校 */
    @Excel(name = "0不是住校 1是住校")
    private Integer isStay;

    /** 在校日期(人脸识别具体时间) */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "在校日期(人脸识别具体时间)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date faceTime;

    /** 教工号或学号 */
    @Excel(name = "教工号或学号")
    private String jobNumber;

    /** 一卡通卡号 */
    @Excel(name = "一卡通卡号")
    private String icNumber;

    @Transient
    private String operate;

    @Transient
    private List<Integer> inStatus;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setFacecode(String facecode) 
    {
        this.facecode = facecode;
    }

    public String getFacecode() 
    {
        return facecode;
    }
    public void setComId(Long comId) 
    {
        this.comId = comId;
    }

    public Long getComId() 
    {
        return comId;
    }
    public void setPersonType(Integer personType) 
    {
        this.personType = personType;
    }

    public Integer getPersonType() 
    {
        return personType;
    }
    public void setUuid(Long uuid) 
    {
        this.uuid = uuid;
    }

    public Long getUuid() 
    {
        return uuid;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }
    public void setFace(String face) 
    {
        this.face = face;
    }

    public String getFace() 
    {
        return face;
    }
    public void setStudentIds(String studentIds) 
    {
        this.studentIds = studentIds;
    }

    public String getStudentIds() 
    {
        return studentIds;
    }
    public void setDownloadDevice(String downloadDevice) 
    {
        this.downloadDevice = downloadDevice;
    }

    public String getDownloadDevice() 
    {
        return downloadDevice;
    }
    public void setDownloadTime(Date downloadTime) 
    {
        this.downloadTime = downloadTime;
    }

    public Date getDownloadTime() 
    {
        return downloadTime;
    }
    public void setDownloadNum(Integer downloadNum) 
    {
        this.downloadNum = downloadNum;
    }

    public Integer getDownloadNum() 
    {
        return downloadNum;
    }
    public void setDeleteNum(Integer deleteNum)
    {
        this.deleteNum = deleteNum;
    }

    public Integer getDeleteNum()
    {
        return deleteNum;
    }
    public void setDeleteDevice(String deleteDevice) 
    {
        this.deleteDevice = deleteDevice;
    }

    public String getDeleteDevice() 
    {
        return deleteDevice;
    }
    public void setSuccessDevice(String successDevice) 
    {
        this.successDevice = successDevice;
    }

    public String getSuccessDevice() 
    {
        return successDevice;
    }
    public void setRemoveDevice(String removeDevice) 
    {
        this.removeDevice = removeDevice;
    }

    public String getRemoveDevice() 
    {
        return removeDevice;
    }
    public void setFailDevice(String failDevice) 
    {
        this.failDevice = failDevice;
    }

    public String getFailDevice() 
    {
        return failDevice;
    }
    public void setTimelist(String timelist) 
    {
        this.timelist = timelist;
    }

    public String getTimelist() 
    {
        return timelist;
    }
    public void setGroupText(String groupText) 
    {
        this.groupText = groupText;
    }

    public String getGroupText() 
    {
        return groupText;
    }
    public void setGroupname(String groupname) 
    {
        this.groupname = groupname;
    }

    public String getGroupname() 
    {
        return groupname;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setStatusOld(Integer statusOld) 
    {
        this.statusOld = statusOld;
    }

    public Integer getStatusOld() 
    {
        return statusOld;
    }
    public void setSyn(Integer syn) 
    {
        this.syn = syn;
    }

    public Integer getSyn() 
    {
        return syn;
    }
    public void setIsLimit(Integer isLimit) 
    {
        this.isLimit = isLimit;
    }

    public Integer getIsLimit() 
    {
        return isLimit;
    }
    public void setIdcard(String idcard) 
    {
        this.idcard = idcard;
    }

    public String getIdcard() 
    {
        return idcard;
    }
    public void setMobile(String mobile) 
    {
        this.mobile = mobile;
    }

    public String getMobile() 
    {
        return mobile;
    }
    public void setRelationId(Long relationId) 
    {
        this.relationId = relationId;
    }

    public Long getRelationId() 
    {
        return relationId;
    }
    public void setInSchool(Integer inSchool) 
    {
        this.inSchool = inSchool;
    }

    public Integer getInSchool() 
    {
        return inSchool;
    }
    public void setIsStay(Integer isStay) 
    {
        this.isStay = isStay;
    }

    public Integer getIsStay() 
    {
        return isStay;
    }
    public void setFaceTime(Date faceTime) 
    {
        this.faceTime = faceTime;
    }

    public Date getFaceTime() 
    {
        return faceTime;
    }
    public void setJobNumber(String jobNumber) 
    {
        this.jobNumber = jobNumber;
    }

    public String getJobNumber() 
    {
        return jobNumber;
    }
    public void setIcNumber(String icNumber) 
    {
        this.icNumber = icNumber;
    }

    public String getIcNumber() 
    {
        return icNumber;
    }

    public void setOperate(String operate){ this.operate = operate; }
    public String getOperate(){ return operate; }

    public void setInStatus(List<Integer> inStatus)
    {
        this.inStatus = inStatus;
    }
    public List<Integer> getInStatus()
    {
        return inStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("facecode", getFacecode())
            .append("comId", getComId())
            .append("personType", getPersonType())
            .append("uuid", getUuid())
            .append("name", getName())
            .append("sex", getSex())
            .append("face", getFace())
            .append("studentIds", getStudentIds())
            .append("downloadDevice", getDownloadDevice())
            .append("downloadTime", getDownloadTime())
            .append("downloadNum", getDownloadNum())
            .append("deleteNum", getDeleteNum())
            .append("deleteDevice", getDeleteDevice())
            .append("successDevice", getSuccessDevice())
            .append("removeDevice", getRemoveDevice())
            .append("failDevice", getFailDevice())
            .append("timelist", getTimelist())
            .append("groupText", getGroupText())
            .append("groupname", getGroupname())
            .append("status", getStatus())
            .append("statusOld", getStatusOld())
            .append("syn", getSyn())
            .append("remark", getRemark())
            .append("isLimit", getIsLimit())
            .append("idcard", getIdcard())
            .append("mobile", getMobile())
            .append("relationId", getRelationId())
            .append("inSchool", getInSchool())
            .append("isStay", getIsStay())
            .append("faceTime", getFaceTime())
            .append("jobNumber", getJobNumber())
            .append("icNumber", getIcNumber())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("operate", getOperate())
            .append("inStatus", getInStatus())
            .toString();
    }
}
